package day13;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            int count = 0;
            for(int i = 0; i < str.length(); i++) {
                //遇到双引号的时候，要一直遍历，知道碰到第二个双引号才说明双引号中的参数遍历完了
                if(str.charAt(i) == '"') {
                    do{
                        i++;
                    }while(str.charAt(i) != '"');
                }
                //碰到双引号以外的空格count++
                if(str.charAt(i) == ' ') {
                    count++;
                }
            }
            //参数的总个数 = 空格个数+1
            System.out.println(count+1);
            int flg = 1;
            for(int i = 0; i < str.length(); i++) {
                //当碰到第一个双引号flg变为0，当碰到第二个双引号flg变为1
                //说明在flg=0的时候，我们一直在遍历双引号中的参数
                if(str.charAt(i) == '"') {
                    flg ^= 1;
                }
                //除了双引号中的空格和双引号，其他字符都输出
                if(str.charAt(i) != ' ' && str.charAt(i) != '"') {
                    System.out.print(str.charAt(i));
                }
                //双引号里面的空格需要输出
                if(str.charAt(i) == ' ' && flg == 0) {
                    System.out.print(str.charAt(i));
                }
                //碰到双引号以外的空格需要换行
                if(str.charAt(i) == ' ' && flg == 1) {
                    System.out.println();
                }
            }
        }
    }
}